# Event Sourcing

## 📘 Resources
- [Event Store Blog](https://www.eventstore.com/blog/tag/event-sourcing)
- [Alexey Zimarev Blog](https://zimarev.com//tags/event-sourcing/)
- [Code Opinion Blog](https://codeopinion.com/category/event-sourcing/)
- [Versioning in an Event Sourced System - Gregory Young](https://leanpub.com/esversioning/read)
- [EventSourcing .NET](https://github.com/oskardudycz/EventSourcing.NetCore#eventsourcing-net)

## 📕 Articles
- [Event Sourcing](https://martinfowler.com/eaaDev/EventSourcing.html) 
- [Event Sourcing and CQRS in C#](http://www.andreavallotti.tech/en/2018/01/event-sourcing-and-cqrs-in-c/)
- [Event Sourcing: Awesome, powerful & different](https://www.erikheemskerk.nl/event-sourcing-awesome-powerful-different/)
- [Event Sourcing: Eventual Consistency and Responding to Events](https://www.erikheemskerk.nl/event-sourcing-eventual-consistency-responding-to-events/)
- [vent Sourcing: CQRS and querying using read models](https://www.erikheemskerk.nl/event-sourcing-cqrs-querying-read-models/)
- [About event sourcing](https://eventuate.io/whyeventsourcing.html) 
- [Event Sourcing pattern](https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing) 
- [Event Sourcing with Azure SQL and Entity Framework Core](https://daniel-krzyczkowski.github.io/Event-Sourcing-With-Azure-SQL-And-Entity-Framework-Core/)
- [Projections in Event Sourcing: Build ANY model you want!](https://codeopinion.com/projections-in-event-sourcing-build-any-model-you-want)
- [Reactive in practice, Unit 5: Event sourcing](https://developer.ibm.com/tutorials/reactive-in-practice-5/)
- [Reactive in practice, Unit 7: CQRS, Part 2 – ReadSideProcessor for queries and views](https://developer.ibm.com/tutorials/reactive-in-practice-7/)
- [EVENT SOURCING MICROSERVICES PATTERN](https://akfpartners.com/growth-blog/event-sourcing-microservices-pattern)
- [Event Based Architecture: What do you mean by EVENT?](https://codeopinion.com/event-based-architecture-what-do-you-mean-by-event/)
- [Event Sourcing in .NET Core – part 1: a gentle introduction](https://www.davidguida.net/event-sourcing-in-net-core-part-1-a-gentle-introduction/)
- [Event Sourcing in .NET Core – part 2: storing events](https://www.davidguida.net/event-sourcing-in-net-core-part-2-storing-events/)
- [Event Sourcing in .NET Core – part 3: broadcasting events](https://www.davidguida.net/event-sourcing-in-net-core-part-3-broadcasting-events/)
- [Event Sourcing in .NET Core – part 4: query models](https://www.davidguida.net/event-sourcing-in-net-core-part-4-query-models/)
- [Event Sourcing Examined Part 1 of 3](https://dasith.me/2016/12/02/event-sourcing-examined-part-1-of-3)
- [Event Sourcing Examined Part 2 Of 3](https://dasith.me/2016/12/31/event-sourcing-examined-part-2-of-3/)
- [Event Sourcing Examined Part 3 Of 3](https://dasith.me/2017/08/02/event-sourcing-examined-part-3-of-3/)
- [Beginner's Guide to Event Sourcing | Event Store](https://www.eventstore.com/event-sourcing)
- [Snapshots in Event Sourcing](https://www.eventstore.com/blog/snapshots-in-event-sourcing)
- [What is Event Sourcing?](https://www.eventstore.com/blog/what-is-event-sourcing)
- [Event Sourcing and CQRS](https://www.eventstore.com/blog/event-sourcing-and-cqrs)
- [CQRS(Command-Query Responsibility Segregation)](https://www.eventstore.com/cqrs-pattern)
- [Eventsourcing Patterns: Forgettable Payloads](https://verraes.net/2019/05/eventsourcing-patterns-forgettable-payloads/)
- [Counterexamples regarding consistency in event sourced solutions (Part 1)](https://www.eventstore.com/blog/counterexamples-regarding-consistency-in-event-sourced-solutions-part-1)
- [Counterexamples regarding consistency in event sourced solutions (Part 2)](https://www.eventstore.com/blog/counterexamples-regarding-consistency-in-event-sourced-solutions-part-2)
- [Counterexamples regarding consistency in event sourced solutions (Part 3)](https://www.eventstore.com/blog/counterexamples-regarding-consistency-in-event-sourced-solutions-part-3)
- [Event Sourcing: Events Evolution, Versioning, and Migration](https://valerii-udodov.com/posts/event-sourcing/events-versioning/)
- [Event-sourcing at Nordstrom: Part 1](https://medium.com/tech-at-nordstrom/adventures-in-event-sourced-architecture-part-1-cc21d06187c7)
- [Event-sourcing at Nordstrom: Part 2](https://medium.com/tech-at-nordstrom/event-sourcing-at-nordstrom-part-2-f64c416d1885)
- [Live projections for read models with Event Sourcing and CQRS](https://www.eventstore.com/blog/live-projections-for-read-models-with-event-sourcing-and-cqrs)
- [Event Streaming is not Event Sourcing!](https://event-driven.io/en/event_streaming_is_not_event_sourcing/)
- [Overselling Event Sourcing](https://zimarev.com/blog/event-sourcing/myth-busting/2020-07-09-overselling-event-sourcing/) ⭐
- [MICROSERVICES .NET CORE WITH EXAMPLE — Part 4](https://medium.com/@bingeek/microservices-net-core-with-example-part-4-d652e6f16796)
- [MICROSERVICES .NET CORE WITH EXAMPLE — Part 5](https://medium.com/@bingeek/microservices-net-core-with-example-part-5-f3ae18d5edee)
- [Why a bank account is not the best example of Event Sourcing?](https://event-driven.io/en/bank_account_event_sourcing/)
- [Real-World CQRS/ES with ASP.NET and Redis Part 1 - Overview](https://exceptionnotfound.net/real-world-cqrs-es-with-asp-net-and-redis-part-1-overview/)
- [Real-World CQRS/ES with ASP.NET and Redis Part 2 - The Write Model](https://exceptionnotfound.net/real-world-cqrs-es-with-asp-net-and-redis-part-2-the-write-model/)
- [Real-World CQRS/ES with ASP.NET and Redis Part 3 - The Read Model](https://exceptionnotfound.net/real-world-cqrs-es-with-asp-net-and-redis-part-3-the-read-model/)
- [Event Sourcing in .NET Core – part 1: a gentle introduction](https://www.davidguida.net/event-sourcing-in-net-core-part-1-a-gentle-introduction/)
- [Event Sourcing in .NET Core – part 2: storing events](https://www.davidguida.net/event-sourcing-in-net-core-part-2-storing-events/)
- [Event Sourcing in .NET Core – part 3: broadcasting events](https://www.davidguida.net/event-sourcing-in-net-core-part-3-broadcasting-events/)
- [Event Sourcing in .NET Core – part 4: query models](https://www.davidguida.net/event-sourcing-in-net-core-part-4-query-models/)
- [Event Sourcing in .NET Core – part 5: offline consumers](https://www.davidguida.net/event-sourcing-in-net-core-part-5-offline-consumers/)
- [Event Sourcing on Azure – part 1: architecture plan](https://www.davidguida.net/event-sourcing-on-azure-part-1-architecture-plan/)
- [Event Sourcing on Azure – part 2: events persistence](https://www.davidguida.net/event-sourcing-on-azure-part-2-events-persistence/)
- [Event Sourcing on Azure – part 3: command validation](https://www.davidguida.net/event-sourcing-on-azure-part-3-command-validation/)
- [Event Sourcing on Azure - part 4: Integration events](https://www.davidguida.net/event-sourcing-on-azure-part-4-integration-events/)
- [What is Event Sourcing?](https://www.ahmetkucukoglu.com/en/what-is-event-sourcing/)
- [Event Sourcing with ASP.NET Core – 01 Store](https://www.ahmetkucukoglu.com/en/event-sourcing-with-asp-net-core-01-store/)
- [Event Sourcing with ASP.NET Core – 02 Messaging](https://www.ahmetkucukoglu.com/en/event-sourcing-with-aspnet-core-02-messaging/)
- [Event Sourcing applied – the application service](https://lostechies.com/gabrielschenker/2015/06/13/event-sourcing-applied-the-application-service/)
- [Event Sourcing applied – the Aggregate](https://lostechies.com/gabrielschenker/2015/06/06/event-sourcing-applied-the-aggregate/)
- [Event sourcing revisited](https://lostechies.com/gabrielschenker/2015/05/26/event-sourcing-revisited/)
- [Reactive in practice, Unit 5: Event sourcing](https://developer.ibm.com/tutorials/reactive-in-practice-5/)
- [Event Sourcing Examined Part 1 of 3](https://dasith.me/2016/12/02/event-sourcing-examined-part-1-of-3/)
- [Event Sourcing Examined Part 2 Of 3](https://dasith.me/2016/12/31/event-sourcing-examined-part-2-of-3/)
- [Event Sourcing Examined Part 3 Of 3](https://dasith.me/2017/08/02/event-sourcing-examined-part-3-of-3/)
- [Event immutability and dealing with change](https://www.eventstore.com/blog/event-immutability-and-dealing-with-change)
- [How Event Sourcing makes for a better debugging experience for developers](https://www.eventstore.com/blog/how-event-sourcing-makes-for-a-better-debugging-experience-for-developers)
- [Projections in Event Sourcing](https://web.archive.org/web/20230128040244/https://zimarev.com/blog/event-sourcing/projections/) ⭐
- [Entities as event streams](https://zimarev.com/blog/event-sourcing/entities-as-streams/#using-events-to-mutate-state)
- [Event Sourcing basics](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/introduction/) ⭐
- [Event Sourcing and CQRS](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/cqrs/) ⭐
- [Entities as event streams](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/entities-as-streams/) ⭐
- [Reporting models and Event Sourcing](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/changes-in-event-sourced-systems/) ⭐
- [Event Sourcing and Microservices](https://web.archive.org/web/20230128024544/https://zimarev.com/blog/event-sourcing/microservices/) ⭐
- [Event immutability and dealing with change](https://www.eventstore.com/blog/event-immutability-and-dealing-with-change?utm_campaign=GWP%20-%20event%20immutability&utm_content=168948136&utm_medium=social&utm_source=linkedin&hss_channel=lcp-3011811)
- [How to get the current entity state from events?](https://event-driven.io/en/how_to_get_the_current_entity_state_in_event_sourcing/)
- [When not to use Event Sourcing?](https://event-driven.io/en/when_not_to_use_event_sourcing/)
- [Revolution now!](https://event-driven.io/en/revolution_now/)
- [How to (not) do the events versioning?](https://event-driven.io/en/how_to_do_event_versioning/)
- [What if I told you that Relational Databases are in fact Event Stores?](https://event-driven.io/en/relational_databases_are_event_stores/)
- [How to create projections of events for nested object structures?](https://event-driven.io/en/how_to_create_projections_of_events_for_nested_object_structures/)
- [How to scale projections in the event-driven systems?](https://event-driven.io/en/how_to_scale_projections_in_the_event_driven_systems/)
- [Anti-patterns in event modelling - Property Sourcing](https://event-driven.io/en/property-sourcing/)
- [Anti-patterns in event modelling - State Obsession](https://event-driven.io/en/state-obsession/)
- [How to build event-driven projections with Entity Framework](https://event-driven.io/en/how_to_do_events_projections_with_entity_framework/)
- [Let's talk about positions in event stores](https://event-driven.io/en/lets_talk_about_positions_in_event_stores/)
- [Simple patterns for events schema versioning](https://event-driven.io/en/simple_events_versioning_patterns/)
- [How to (not) do the events versioning?](https://event-driven.io/en/how_to_do_event_versioning/)
- [How to do snapshots in Marten?](https://event-driven.io/en/how_to_do_snapshots_in_Marten/)
- [Keep your streams short! Temporal modeling for fast reads and optimal data retention](https://www.eventstore.com/blog/keep-your-streams-short-temporal-modelling-for-fast-reads-and-optimal-data-retention)
- [Integrating Marten with other systems](https://event-driven.io/en/integrating_Marten/)
- [Using strongly-typed identifiers with Marten](https://event-driven.io/en/using_strongly_typed_ids_with_marten/)
- [A simple trick for idempotency handling in the Elastic Search read model](https://event-driven.io/en/simple_trick_for_idempotency_handling_in_elastic_search_readm_model/)
- [Getting Started with CQRS – Part 1](https://www.red-gate.com/simple-talk/development/dotnet-development/getting-started-with-cqrs-part-1/)
- [Getting Started with CQRS – Part 2](https://www.red-gate.com/simple-talk/development/dotnet-development/getting-started-with-cqrs-part-2/)
- [Getting Started with CQRS – Part 3](https://www.red-gate.com/simple-talk/development/dotnet-development/getting-started-with-cqrs-part-3/)
- [Dealing with Eventual Consistency and Idempotency in MongoDB projections](https://event-driven.io/en/dealing_with_eventual_consistency_and_idempotency_in_mongodb_projections/)
- [Global event stream](https://zimarev.com/blog/event-sourcing/all-stream/)
- [Live projections for read models with Event Sourcing and CQRS](https://www.eventstore.com/blog/live-projections-for-read-models-with-event-sourcing-and-cqrs)
- [DDD, CQRS and Event Sourcing in .NET Core with Weapsy.Mediator](https://www.linkedin.com/pulse/ddd-cqrs-event-sourcing-net-core-weapsymediator-luca-briguglia/)
- [Building an Event Storage](https://cqrs.wordpress.com/documents/building-event-storage/)
- [Event Sourcing: 5 things to consider when approaching it](https://www.davidguida.net/event-sourcing-things-to-consider)
- [Event Sourcing pattern for microservices in .Net Core](https://chaitanyasuvarna.wordpress.com/2021/05/30/event-sourcing-pattern-in-net-core/)
- [Snapshots in Event Sourcing for Rehydrating Aggregates](https://codeopinion.com/snapshots-in-event-sourcing-for-rehydrating-aggregates/)
- [Scalable Microservices with Event Sourcing and Redis](https://medium.com/lcom-techblog/scalable-microservices-with-event-sourcing-and-redis-6aa245574db0)
- [CQRS & Event Sourcing Code Walk-Through](https://codeopinion.com/cqrs-event-sourcing-code-walk-through/)
- [Event Sourced Aggregate Design: Focus on Business Logic](https://codeopinion.com/event-sourced-aggregate-design-focus-on-business-logic/)
- [Testing your Domain when Event Sourcing](https://codeopinion.com/testing-your-domain-when-event-sourcing/)
- [Projections in Event Sourcing: Build ANY model you want!](https://codeopinion.com/projections-in-event-sourcing-build-any-model-you-want/?utm_source=rss&utm_medium=rss&utm_campaign=projections-in-event-sourcing-build-any-model-you-want)
- [Event Sourcing Example & Explained in plain English](https://codeopinion.com/event-sourcing-example-explained-in-plain-english/?utm_source=feedly&utm_medium=rss&utm_campaign=event-sourcing-example-explained-in-plain-english) 
- [Event Sourcing: Projections with Liquid Projections](https://codeopinion.com/event-sourcing-projections-with-liquid-projections/)
- [Event Sourcing with SQL Stream Store](https://codeopinion.com/event-sourcing-with-sql-stream-store/)
- [Event Stream as a Message Queue](https://codeopinion.com/event-stream-message-queue/)
- [Event Store Persistent Subscriptions](https://codeopinion.com/event-store-persistent-subscriptions/)
- [Event Store Persistent Subscriptions Demo](https://codeopinion.com/event-store-persistent-subscriptions-demo/)
- [Persistent subscription](https://developers.eventstore.com/server/v21.10/persistent-subscriptions.html)
- [Event Store Subscribe to changes](https://developers.eventstore.com/clients/dotnet/5.0/subscriptions.html)
- [Migration to gRPC client](https://developers.eventstore.com/clients/dotnet/5.0/migration-to-gRPC.html#update-the-target-framework)
- [Event Schema Versioning](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventsVersioning)
- [Event Sourcing: Snapshotting](https://domaincentric.net/blog/event-sourcing-snapshotting)
- [Convince your CTO to use Event Sourcing](https://www.eventstore.com/blog/convincing-your-cto)
- [The Right Way - Event Sourcing done right](https://eventuous.dev/docs/prologue/the-right-way/)
- [Event Sourcing - Kamil](https://github.com/kgrzybek/modular-monolith-with-ddd#315-event-sourcing)
- [What they don’t tell you about event sourcing](https://medium.com/@hugo.oliveira.rocha/what-they-dont-tell-you-about-event-sourcing-6afc23c69e9a)
- [Reactive Event Sourcing in Java, Part 1: Domain](https://softwaremill.com/reactive-event-sourcing-in-java-part-1-domain/)
- [Reactive Event Sourcing in Java, Part 2: Actor Model](https://softwaremill.com/reactive-event-sourcing-in-java-part-2-actor-model/)
- [Reactive Event Sourcing in Java, Part 3: Service](https://softwaremill.com/reactive-event-sourcing-in-java-part-3-service/)
- [Reactive Event Sourcing in Java, Part 4: Controller](https://softwaremill.com/reactive-event-sourcing-in-java-part-4-controller/)
- [Implementing event sourcing using a relational database](https://softwaremill.com/implementing-event-sourcing-using-a-relational-database/)
- [Read models in event-sourced systems](https://alexey-zimarev.medium.com/read-models-in-event-sourced-systems-489342181233)
- [EventStoreDB Vs Kafka](https://domaincentric.net/blog/eventstoredb-vs-kafka)
- [Event Sourcing: Why Kafka is not suitable as an Event Store](https://medium.com/@TonyBologni/event-sourcing-why-kafka-is-not-suitable-as-an-event-store-796e5d9ab63c)
- [Event Versioning with Marten](https://event-driven.io/en/event_versioning_with_marten/)
- [Slim your aggregates with Event Sourcing!](https://event-driven.io/en/slim_your_entities_with_event_sourcing/)
- [Functional Event Sourcing Decider](https://thinkbeforecoding.com/post/2021/12/17/functional-event-sourcing-decider)
- [A Vision for Low Ceremony CQRS with Event Sourcing](https://jeremydmiller.com/2022/06/15/a-vision-for-low-ceremony-cqrs-with-event-sourcing/)
- [How to effectively compose your business logic](https://event-driven.io/en/how_to_effectively_compose_your_business_logic/)
- [CQRS + Event Sourcing – Step by Step](https://danielwhittaker.me/2020/02/20/cqrs-step-step-guide-flow-typical-application/)
- [Testing business logic in Event Sourcing, and beyond!](https://event-driven.io/en/testing_event_sourcing/)
- [Testing an Event Sourced Aggregate Root](https://buildplease.com/pages/fpc-13/)
- [An Executable Specification](https://buildplease.com/pages/fpc-14/)
- [Event Sourcing explained](https://itnext.io/event-sourcing-explained-b19ccaa93ae4) ⭐
- [Essential features of an Event Store for Event Sourcing](https://itnext.io/essential-features-of-an-event-store-for-event-sourcing-13e61ca4d066)
- [Event Sourcing Part I: Understanding what it is, core components, and common misconceptions](https://medium.com/ssense-tech/event-sourcing-part-i-understanding-what-it-is-core-components-and-common-misconceptions-5dec65f6d61)
- [Event Sourcing Part II: Implementing an end-to-end solution](https://medium.com/ssense-tech/event-sourcing-part-ii-implementing-an-end-to-end-solution-68b7dbefe89)
- [Guide to Projections and Read Models in Event Driven Architecture](https://event-driven.io/en/projections_and_read_models_in_event_driven_architecture/) ⭐
- [Event-driven projections in Marten explained](https://event-driven.io/en/projections_in_marten_explained/)
- [Projecting Marten events to Elasticsearch](https://event-driven.io/en/projecting_from_marten_to_elasticsearch/)
- [Ensuring uniqueness in Marten event store](https://event-driven.io/en/unique_constraint_in_marten_event_store/)
- [Event stores are key-value databases, and why that matters](https://event-driven.io/en/event_stores_are_key_value_stores/)
- [How to scale out Marten](https://event-driven.io/en/scaling_out_marten/)
- [Implementing Closing the Books pattern](https://event-driven.io/en/closing_the_books_in_practice/)
- [Explicit events serialisation in Event Sourcing](https://event-driven.io/en/explicit_events_serialisation_in_event_sourcing/)
- [Marten, Metrics, and Open Telemetry Support](https://jeremydmiller.com/2024/04/30/marten-metrics-and-open-telemetry-support/)
- [Marten, PostgreSQL, and .NET Aspire walk into a bar](https://jeremydmiller.com/2024/05/01/marten-postgresql-and-net-aspire-walk-into-a-bar/)
- [Why you should batch message processing and how to do it with .NET AsyncEnumerable](https://event-driven.io/en/batching_async_enumerable/)

## 📺 Videos
- [Event Sourcing Playlist - CodeOpinion](https://www.youtube.com/playlist?list=PLThyvG1mlMzkRKJnhzvxtSAbY8oxENLUQ)
- [Event Sourcing Example & Explained in plain English](https://www.youtube.com/watch?v=AUj4M-st3ic)
- [Projections in Event Sourcing: Build ANY model you want!](https://www.youtube.com/watch?v=bTRjO6JK4Ws)
- [Event Sourcing: Rehydrating Aggregates with Snapshots](https://www.youtube.com/watch?v=eAIkomEid1Y)
- [Event Sourcing with Azure SQL and Entity Framework Core](https://www.youtube.com/watch?v=-BhDW3GeSqg)
- [What's an Event Driven System?](https://www.youtube.com/watch?v=rJHTK2TfZ1I)
- [eventstore webinars](https://www.eventstore.com/webinars)
- [Testing Aggregate with Event Sourcing made SIMPLE](https://www.youtube.com/watch?v=rGlNhYOqKZk)
- [A practical introduction to DDD, CQRS & Event Sourcing - Dennis Doomen - KanDDDinsky 2019](https://www.youtube.com/watch?v=r26BuahD8aM)
- [Event Sourcing & CQRS in C# - The Aggregate Root](https://www.youtube.com/watch?v=LAU2gFtPC_0)
- [Event Sourcing & CQRS in C#: The Repository](https://www.youtube.com/watch?v=ZEHgs2qy2MQ)
- [Event Sourcing & CQRS in C# - The Event Store](https://www.youtube.com/watch?v=dfzsAGUAAYQ)
- [Practical introduction to Event Sourcing with EventStoreDB](https://www.youtube.com/watch?v=rqYPVzjoxqI
- [CQRS - Event Sourcing || Deep Dive on Building Event Driven Systems || Part-1 ||](https://www.youtube.com/watch?v=3TwLEoLtpw0)
- [CQRS - Event Sourcing || Deep Dive on Building Event Driven Systems || Part -2 ||](https://www.youtube.com/watch?v=MKdHSKeMpk0)
- [Event Sourcing with Azure SQL and Entity Framework Core](https://www.youtube.com/watch?v=-BhDW3GeSqg)
- [Event Sourcing & CQRS | Stock Exchange Microservices Architecture | System Design Primer](https://www.youtube.com/watch?v=E-7TBZxmkXE)
- [Don't Let the Internet Dupe You, that's NOT Event Sourcing](https://www.youtube.com/watch?v=Y7ca1--EKsg)
- [Never Lose Data Again - Event Sourcing to the Rescue! with Oskar Dudycz - December 1st 2021](https://www.youtube.com/watch?v=fDC465jJoDk)
- [Practical Introduction to Event Sourcing with EventStoreDB by Oskar Dudycz](https://www.youtube.com/watch?v=ArcypYS5XBQ)
- [Event Store Webinar: Migrating from TCP to gRPC](https://www.youtube.com/watch?v=-4_KTfVkjlQ)
- [Practical Event Sourcing with Marten - Oskar Dudycz, .NET](https://www.youtube.com/watch?v=L_ized5xwww)
- [Sander MOLENKAMP: Practical CQRS and Event Sourcing on Azure @ Update Conference Prague 18](https://www.youtube.com/watch?v=3XcB-5CrRe8)
- [How to build an event store using CosmosDB](https://www.youtube.com/watch?v=UejwRlmV6E4)
- [The Dark Side of Events](https://www.youtube.com/watch?v=URYPpY3SgS8)
- [How an EventStore actually works - by Gregory Young](https://www.youtube.com/watch?v=YUjO1wM0PZM)
- [Practical Event-Sourcing with C# and EventStore with Alexey Zimareff](https://www.youtube.com/watch?v=0RGuoRRHWf8)
- [Eventuous: Event Sourcing with .NET, Alexey Zimarev](https://www.youtube.com/watch?v=IbnXdERLDjk)
- [Introduction to Event Sourcing](https://learn.eventstore.com/webinar-recording-introduction-to-event-sourcing)
- [Q&A - Event Sourcing, CQRS, and DDD](https://learn.eventstore.com/webinar-recording-qa-event-sourcing-cqrs-and-ddd)
- [Eventual Consistency is a UX Nightmare](https://www.youtube.com/watch?v=wEUTMuRSZT0)
- [Eventuous Event Sourcing with NET - Alexey Zimarev - NDC Oslo 2021](https://www.youtube.com/watch?v=4j7PyYT2GMU)
- [Event sourcing meetup with Alexey Zimarev and Greg Young](https://www.youtube.com/watch?v=DDefPUCB9ao)
- [PostgreSQL as NoSql with Marten by Pavlo Tsybulivskyi](https://www.youtube.com/watch?v=gZX6nrudTL0)
- [Understanding Event Sourcing Basics [.NET C#]](https://www.youtube.com/watch?v=EGYMNsI_Opo)
- [Understanding When to Snapshot [.NET C#]](https://www.youtube.com/watch?v=Y0EshPK32cg)
- [Complex Projections in Event Sourcing [.NET C#]](https://www.youtube.com/watch?v=kv87iBsEP44)
- [Snapshotter for Asynchronous Projections [.NET C#]](https://www.youtube.com/watch?v=ZRr3jOXZGJg)
- [Event Sourcing do's and don'ts](https://www.youtube.com/watch?v=SYsiIxJ-Nfw)
- [Let's build the worst Event Sourcing system! - Oskar Dudycz - EventSourcing Live 2021](https://www.youtube.com/watch?v=Lu-skMQ-vAw)
- [Snapshotter Service with distributed locks [.NET C#]](https://www.youtube.com/watch?v=NriFMN2UtZs)
- [Introduction to Event Sourcing in TypeScript and NodeJS with EventStoreDB](https://www.youtube.com/watch?v=5pc7abhle_Q)
- [About Event Sourcing with Oskar Dudycz | Software as we know IT](https://www.youtube.com/watch?v=MARo6153qF8)
- [Practical introduction to Event Sourcing with Spring Boot and EventStoreDB](https://www.youtube.com/watch?v=LaUSPtwFLSg)
- [Real-time subscription - Alexey Zimarev](https://medium.com/eventuous/real-time-subscription-3d5725d69887)
- [Pragmatic Event Sourcing in .NET With Marten - JetBrainsTV](https://www.youtube.com/watch?v=Lc2zV8KA16A)
- [.NET DC August: Event Sourcing and CQRS with Marten](https://www.youtube.com/watch?v=XaztVpahD1k)
- [DDD as Low-Code](https://www.youtube.com/watch?v=yohu6qx8-dU)
- [Introduction to Event Sourcing by Alexey Zimarev](https://www.youtube.com/watch?v=VeZZ2UZMDYo)
- [The power of transient state in Event Sourcing](https://www.youtube.com/watch?v=XoWEQ_39Mcg)
- [Let's build event store in one hour! - Oskar Dudycz - NDC Oslo 2022](https://www.youtube.com/watch?v=gaoZdtQSOTo)
- [Event Sourcing in 1 Hour with Marten in .NET](https://www.youtube.com/watch?v=yWpuUHXLhYg)
- [Event-driven revolution, from CRUD to Event Sourcing in practice - Oskar Dudycz - Devoxx For Ukraine](https://www.youtube.com/watch?v=V5_MMtfPpKs)
- [How to model event-sourced systems efficiently - Oskar Dudycz - DDD Europe 2022](https://www.youtube.com/watch?v=gG6DGmYKk4I)
- [Practical Introduction to Event Sourcing](https://www.youtube.com/watch?v=O3qbCuHvcPk)

## 📦 Libraries
- [Eventuous/eventuous](https://github.com/Eventuous/eventuous) - Minimalistic Event Sourcing library for .NET
- [EventFlow](https://github.com/eventflow/EventFlow) - Async/await first CQRS+ES and DDD framework for .NET
- [oskardudycz/GoldenEye](https://github.com/oskardudycz/GoldenEye) - The CQRS flavoured framework that will speed up your WebAPI and Microservices development
- [AggregateSource](https://github.com/yreynhout/AggregateSource) - Lightweight infrastructure for doing eventsourcing using aggregates
- [Projac](https://github.com/BitTacklr/Projac) - A set of .NET projection libraries
- [Aggregates.NET](https://github.com/charlessolar/Aggregates.NET) - .NET event sourced domain driven design model via NServiceBus and GetEventStore
- [CanerPatir/Algorist.EventSourcing](https://github.com/CanerPatir/Algorist.EventSourcing) - An event sourcing building block for .net core
- [jet/equinox](https://github.com/jet/equinox) - .NET Event Sourcing library with CosmosDB, EventStoreDB, SqlStreamStore and integration test backends.
- [revoframework/Revo](https://github.com/revoframework/Revo) - Event Sourcing, CQRS and DDD framework for C#/.NET Core
- [gautema/cqrslite](https://github.com/gautema/cqrslite) - A lightweight framework to help creating CQRS and Eventsourcing applications in C#
- [lucabriguglia/OpenCQRS](https://github.com/lucabriguglia/OpenCQRS) - .NET Standard framework to create simple and clean design. Advanced features for DDD, CQRS and Event Sourcing.
- [SQLStreamStore/SQLStreamStore](https://github.com/SQLStreamStore/SQLStreamStore) - Stream Store library targeting RDBMS based implementations for .NET
- [jacqueskang/EventSourcing](https://github.com/jacqueskang/EventSourcing) - .NET Core event sourcing framework
- [dasiths/NEventLite](https://github.com/dasiths/NEventLite) - NEventLite - An extensible lightweight library for .NET that manages the Aggregate lifecycle in an Event Sourced system. Supports Event and Snapshot storage providers like EventStore/Redis or SQL Server. Built with dependency injection in mind and seamlessly integrates with AspNetCore.
- [Eveneum/Eveneum](https://github.com/Eveneum/Eveneum) - Event Store backed by Azure Cosmos DB
- [Slacquer/api-blox](https://github.com/Slacquer/api-blox) - .NetCore & AspNetCore API Building Blocks.
- [learningcom/Learning.EventStore](https://github.com/learningcom/Learning.EventStore) - A framework for CQRS, Eventsourcing, and messaging that uses Redis pub/sub for messaging and offers event persistence in Redis, SQL Server, or PostgreSQL.
- [liquidprojections/LiquidProjections](https://github.com/liquidprojections/LiquidProjections)
- [EventStore/replicator](https://github.com/EventStore/replicator) - Real-time replication tool
- [nstoredev/NStore](https://github.com/nstoredev/NStore)
- [IEvangelist/azure-cosmos-dotnet-repository](https://github.com/IEvangelist/azure-cosmos-dotnet-repository) - Wraps the .NET SDK for Azure Cosmos DB abstracting away the complexity, exposing a simple CRUD-based repository pattern
- [ForrestTech/Eventus](https://github.com/ForrestTech/Eventus) - A framework for creating updating and storing event sourced aggregates using a range of storage providers.
- [NEventStore/NEventStore](https://github.com/NEventStore/NEventStore) - A persistence agnostic Event Store for .NET
- [ircnelson/enjoy.cqrs](https://github.com/ircnelson/enjoy.cqrs) - This library help you to build your applications using CQRS and Event source concepts.

## 🚀 Samples
- [VenomAV/EventSourcingCQRS](https://github.com/VenomAV/EventSourcingCQRS)
- [oskardudycz/EventSourcing.NetCore/Sample/EventStoreDB/Simple](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Sample/EventStoreDB/Simple)
- [oskardudycz/EventSourcing.NetCore](https://github.com/oskardudycz/EventSourcing.NetCore) - Examples and Tutorials of Event Sourcing in .NET
- [oskardudycz/EventSourcing.NodeJS](https://github.com/oskardudycz/EventSourcing.NodeJS) - Examples and Tutorials of Event Sourcing in NodeJS
- [oskardudycz/EventSourcing.NetCore/BuildYourOwnEventStore](https://github.com/oskardudycz/EventSourcing.NetCore/tree/3c9782d760df75ee9d75f63955b82d76aba0bd2b/Workshops/BuildYourOwnEventStore)
- [mizrael/SuperSafeBank](https://github.com/mizrael/SuperSafeBank) - Sample Event Sourcing implementation with .NET Core
- [Hands-On-Domain-Driven-Design-with-.NET-Core](https://github.com/PacktPublishing/Hands-On-Domain-Driven-Design-with-.NET-Core) 
- [Aggregates.NET](https://github.com/charlessolar/Aggregates.NET) - .NET event sourced domain driven design model via NServiceBus and GetEventStore
- [eShopOnContainersDDD](https://github.com/charlessolar/eShopOnContainersDDD) - Fork of dotnet-architecture/eShopOnContainers in full DDD/CQRS design using my own patterns
- [ProductContext-EventSourcing](https://github.com/osoykan/ProductContext-EventSourcing) - A practical/experimental Event Sourcing application on Product Bounded Context in an e-commerce
- [ddd-and-eventsourcing-example](https://github.com/eraydin/ddd-and-eventsourcing-example)
- [EventStore/Webinars](https://github.com/EventStore/Webinars)
- [EventStore/samples](https://github.com/EventStore/samples) - Samples showing practical aspect of EventStoreDB, Event Sourcing
- [ddd-by-examples/event-source-cqrs-sample](https://github.com/ddd-by-examples/event-source-cqrs-sample) - Sample ES/CQRS application
- [exceptionnotfound/DotNetCqrsDemo](https://github.com/exceptionnotfound/DotNetCqrsDemo)
- [NHadi/Pos](https://github.com/NHadi/Pos) - Sample Application DDD, Reactive Microservices, CQRS Event Sourcing Powered by DERMAYON LIBRARY
- [oskardudycz/GoldenEye/DDD/Tickets](https://github.com/oskardudycz/GoldenEye/tree/35544a10bc0214cce73ec098c7f1dd3a949969a7/samples/DDD/Tickets)
- [learningcom/Learning.EventStore](https://github.com/learningcom/Learning.EventStore) - A framework for CQRS, Eventsourcing, and messaging that uses Redis pub/sub for messaging and offers event persistence in Redis, SQL Server, or PostgreSQL.
- [Reacture/FoxOffice](https://github.com/Reacture/FoxOffice) - Sample application demonstrating how to build a distributed cloud .NET Core application based on CQRS and Event Sourcing.
- [amolenk/CosmosEventSourcing](https://github.com/amolenk/CosmosEventSourcing) - Example of event sourcing implemented with Cosmos DB
- [UbiquitousLanguage/WorkshopEventSourcing](https://github.com/UbiquitousLanguage/WorkshopEventSourcing) - Practical event-sourcing with C# workshop repository
- [madslundt/NetCoreMicroservicesSample](https://github.com/madslundt/NetCoreMicroservicesSample)
- [Eventuous/dotnet-sample](https://github.com/Eventuous/dotnet-sample) - Sample application using Eventuous .NET
- [oskardudycz/EventSourcing.NetCore/Workshops/IntroductionToEventSourcing](https://github.com/oskardudycz/EventSourcing.NetCore/tree/main/Workshops/IntroductionToEventSourcing) - Introduction to Event Sourcing Workshop
- [oskardudycz/EventSourcing.JVM](https://github.com/oskardudycz/EventSourcing.JVM) - Examples and Tutorials of Event Sourcing in JVM languages
- [AleksK1NG/Java-Spring-CRQS-Eventsourcing-Microservice](https://github.com/AleksK1NG/Java-Spring-CRQS-Eventsourcing-Microservice) - Java-Spring-CRQS-Eventsourcing-Microservice
- [AleksK1NG/Java-Quarkus-Reactive-CQRS-EventSourcing](https://github.com/AleksK1NG/Java-Quarkus-Reactive-CQRS-EventSourcing) - Java-Quarkus-Reactive-CQRS-EventSourcing
- [evgeniy-khist/eventstoredb-event-sourcing](https://github.com/evgeniy-khist/eventstoredb-event-sourcing) - EventStoreDB is the database for Event Sourcing. This repository provides a sample of event sourced system that uses EventStoreDB as event store.
- [evgeniy-khist/postgresql-event-sourcing](https://github.com/evgeniy-khist/postgresql-event-sourcing) - PostgreSQL is the world's most advanced open source database. Also, PostgreSQL is suitable for Event Sourcing. This repository provides a sample of event sourced system that uses PostgreSQL as event store.
- [Finaps/EventSourcing](https://github.com/Finaps/EventSourcing) - Event Sourcing in .NET 6
- [bymyslf/payment-gateway](https://github.com/bymyslf/payment-gateway) - A sample project using Hexagonal (Ports & Adapters) architecture, Event Sourcing, CQRS and DDD tactical patterns
- [softwaremill/reactive-event-sourcing-java](https://github.com/softwaremill/reactive-event-sourcing-java)
- [RailsEventStore/ecommerce](https://github.com/RailsEventStore/ecommerce) - Application with CQRS and Event Sourcing built on Rails and Rails Event Store
- [AleksK1NG/Kotlin-ES-CQRS-Microservice](https://github.com/AleksK1NG/Kotlin-ES-CQRS-Microservice) - Kotlin-ES-CQRS-Microservice
- [oskardudycz/EventStoreInOneHour](https://github.com/oskardudycz/EventStoreInOneHour) - Repository for Live Stream "Event Store in One Hour"
- [AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing](https://github.com/AntonioFalcaoJr/EDA.CleanArch.DDD.CQRS.EventSourcing) - A full-stack .NET 7 EDA solution
- [MarkNijhof/Fohjin](https://github.com/MarkNijhof/Fohjin) - This is a personal sand box
- [EventStore/training-advanced-dotnet](https://github.com/EventStore/training-advanced-dotnet)
- [mat-mcloughlin/PatientMangement](https://github.com/mat-mcloughlin/PatientMangement) - A simple example of how to build an event sourced application
- [klimisa/aggregate-implementation-patterns-csharp](https://github.com/klimisa/aggregate-implementation-patterns-csharp) - Aggregate implementations workshop port to C#
- [bitloops/ddd-hexagonal-cqrs-es-eda](https://github.com/bitloops/ddd-hexagonal-cqrs-es-eda) - Complete working example of using Domain Driven Design (DDD), Hexagonal Architecture, CQRS, Event Sourcing (ES), Event Driven Architecture (EDA), Behaviour Driven Development (BDD) using TypeScript and NestJS
- [matt-bentley/AspNetCore.EventSourcing](https://github.com/matt-bentley/AspNetCore.EventSourcing) - Simple Event Sourcing implementation in ASP.NET with Entity Framework Core and MediatR
- [JasperFx/CritterStackSamples](https://github.com/JasperFx/CritterStackSamples) - Samples using the "Critter Stack" Tools